1. Field of the Invention
The invention relates to computer networks and, more particularly, to electronic publishing systems that employ servers to store electronic publications and browsers, executing on clients and communicating with the servers over the networks, to view the electronic publications.
2. Description of the Related Art
Computer networks, such as the Internet and private corporate networks, enable users to retrieve information from a wide variety of sources. They also enable publishers, information providers, advertisers and other information sources to supply information to these users. "Servers" are computer systems that are connected to a network and that store and supply information. One type of server on the Internet is known as a "web server," which provides access to a web site. Each web site can make available one or more "web pages," which are formatted, tree-structured repositories of information, such as text, images, sounds, animations, and three-dimensional simulations. Many traditional publishers, such as newspapers and journals, as well as corporations, individuals and organizations (hereinafter collectively referred to as publishers) have established web pages. "Clients" are computer systems, each typically controlled by one user, that may be connected to a network and request information from the servers on the network. In particular, clients at various locations can view web pages by "downloading" replicas of the web pages from the servers on which these web pages are stored.
Publishers often expend a great deal of effort to make their web pages as visually attractive as possible and to brand them identifiably because these publishers typically project their corporate images and attempt to derive revenue through subscription, use fees, or advertising income from these pages. Publishers may also obtain direct public relations and communications benefits from their web pages. Since publishers often deliver sales, advertising, product support, and employee communication services through their web pages, the web page's visual appeal, brand identity, and navigational use are important. For example, some publishers establish web pages that provide useful services, such as information searching in order to attract users. These publishers may include advertising space on these web pages in which they advertise their products and services or the products and services of others.
To create a web page, publishers typically use a "text markup language," such as the Hypertext Markup Language (HTML). An HTML file may contain "elements" such as text, graphics, tables, buttons, etc., each identified by a "tag." Markup languages specify the layouts and contents of their web pages by encapsulating static content. That is, the content or information to be displayed on the web page is typically written into the file. Accordingly, in order to change the contents or appearance of a web page, the corresponding file must be edited or changed. Publishers must periodically recode their web pages to update the information contained therein and to maintain an interest level necessary to attract repeat users. Creating and updating web pages can be very expensive, especially where publishers employ professional designers to produce their web pages. Furthermore, a user wishing to see current information must repeatedly cause his or her client to download an entire web page to obtain the most current version of any content in the web page.
This lack of flexibility in text markup languages results in all web pages looking much the same. Most publishers, when creating web pages, would prefer to have the flexibility available in traditional printed publications, including control over typography (font, size, leading), color, columnarization and text flow around graphics. Fonts pose a particular problem for these publishers.
"Fonts" are used to control visual attributes of text portions of web pages and other documents. A font is a definition of the shapes of printable or viewable characters (typically upper and lower case alphabetic characters, numbers, punctuation and special characters, such as the asterisk or the pound sterling currency sign). Fonts are identified by their names, for example "Times New Roman" and "Garamond." A considerable amount of creative effort often goes into designing a font. Accordingly, font developers typically charge a fee to license their fonts to publishers and other users, who then use the fonts to create publications.
A computer, moreover, can only "render" (display or print) text in fonts that have been "installed" on the computer with the exception of images of full-text pages. If a computer is requested to render text in a font that is not installed, the computer "falls back" and selects an installed font to render the text. The font chosen by the computer as a fall-back, however, might look quite different from the requested font. Furthermore, the fall-back font might have larger or smaller characters, which may cause line breaks, page breaks and other visual aspects of the publication to be rendered differently than intended by the publisher.
A small number of common fonts are usually installed on client computers. Some users, moreover, purchase and install additional fonts. Publishers do not, however, have a priori knowledge of which additional fonts are installed on clients. As a result, publishers are often forced to limit themselves to the most commonly installed fonts to ensure that their publications are rendered as intended. As set forth above, one alternative is to transmit text having a unique font as an image file. Image files, however, are typically quite large and thus require substantial time to download. Rather than wait for a large file to download, users might move on to other web pages.
Publishers typically embed information within documents to identify which font(s) are to be used to display or print the document. More specifically, each section of text in a publication typically identifies which font is to be used to render the text in the section. Each publication, moreover, can use several fonts throughout the publication. Publishers use one of two methods to specify the fonts to be used to render their publications. In the first method, the names of the fonts are embedded in each publication. When the client attempts to display the publication, if the named fonts are not installed on the client, the client substitutes installed fonts ("falls-back"), and the user sees the web page differently than the publisher intended.
Using the second method, a copy of each font is embedded in each publication. Although the recipients are permitted to render the documents with these embedded fonts, they are not permitted to use the fonts to create other documents, unless they, too, are licensed to do so. The files that make up a font are rather large. As a result, this method unnecessarily increases the time taken to download the publication to a client and is completely unnecessary if the client already has one or more of the fonts installed. Furthermore, fonts contained in a document may be repeatedly downloaded creating additional delays.
A "browser" is a computer program that executes on a client to provide a user interface to information servers. Each source of information on a server is known as a "resource" and has an associated text string by which it can be referenced. The text string, known as a "uniform resource locator" (URL), specifies: a protocol to use to obtain the information, such as the Hypertext Transfer Protocol (HTTP); the name or numerical address of a server from which to obtain the information; and a "local information text string." The local information text string is passed to a protocol handler on the server, which then returns the information. The local information text string often specifies a file, i.e., it contains a directory and a file name, but it can also specify a search request to be performed on a database or text index. Thus, a user specifies a URL to a browser, and the browser then retrieves and displays information from the resource associated with the URL.
Most browsers are capable of displaying only a small number of file formats and must invoke so-called "helper applications" to display other file formats (e.g., audio and video). A user, moreover, must have previously installed these helper applications on his or her client computer. In addition, HTML and extensions of it typically allow only a limited set of user interactions with information retrieved by a browser. For example, a user can scroll through an entire web "page"--for a long document, the page may be many screens in length--and can also follow a hypertext link to an entirely different web page, perhaps part of the same web publication or part of an entirely different one. However, enabling a user to easily follow hypertext links poses problems for the user, as he or she may find it difficult to return to the page of original entry--often a summary or contents page--to continue the viewing process.
The cost of traditional publishing is increasing due to cost increases of paper, inventory and distribution. Accordingly, sources of information are under increasing pressure to target their editorial and advertising content more precisely. As a result, publishers often wish to track usage patterns and collect demographic data about users who access web pages. Each computer connected to a network has a unique network address, and some publishers keep track of the network address of each client that accesses their servers. A "gateway" is a computer system that interconnects two computer networks. Many users access the Internet through gateways, such as America On-Line, that dynamically assign network addresses. Thus, each time a user accesses a server though one of these gateways, the user might have a different network address.
It is therefore an object of the invention to provide a system for easily creating and displaying visually attractive electronic publications.
It is a further object to display an electronic publication on a client using fonts specified by the publisher, regardless of whether the specified fonts are installed on the client, and to download the fonts only if they are not installed on the client.
It is a further object to provide a rich set of possible user interactions with information retrieved and displayed by a browser, including an ability to retrieve information from other servers while maintaining control over a view presented to a user.
It is a yet further object to enable the publisher to uniquely identify clients that access servers through a gateway.
Other objects will, in part, be obvious and will, in part, appear hereinafter.